In recent years, web fraud detection market has increased considerably, so innovation in authentication and authorization processes has become of great importance.
The increasing complexity of applications has led to the adoption of many security techniques increasingly sophisticated. One of the classifications that can be proposed for the study of these security techniques allows distinguishing between authentication solutions and authorization solutions. The authentication techniques are designed to verify a person is the one who claims to be. In order to add more reliability in verifying that actually a person corresponds to the identity that is being checked, many alternative authentication schemes can be taken or the number of factors to build this authentication can be extended.
There are many solutions designed to strengthen the authentication processes and, by extension, to fortify the authorization processes. Once users have been securely identified, there are authorization schemes that allow flexibility and robustness in assigning permissions to users to ensure secure access to system resources. However, there are threats which cannot yet be thwarted by adopting any of the existing schemes for the authentication/authorization, or this adoption is too expensive to afford it. These threats directly affect the way the access to specific resources is performed. A method to address these threats involves the designing of brand new security mechanisms. These mechanisms must guarantee that once the identity of a user has been verified and the level of authorization to a resource for this user has been checked, the actions taken by the user of that resource are not intercepted and modified by any attacker.
In any authorization model different techniques that facilitate access to various system resources are included. The user role information, the access control data provided when the user is authenticated, are examples of information that can be used to determine whom to give access to what resources and how this access has to be guaranteed. Ultimately, determining what should be accessed by the users, will be specified for each application. For this reason, sometimes it will be difficult to provide a general authorization scheme. It will be necessary to define an application-specific logic to determine what users can access and how they would perform these accesses. From this idea, there are many solutions that propose secure and flexible schemes for the implementation of the authorization. In all these solutions, the security must be guaranteed by the correct selection of the authentication mechanism and a correct implementation of the selected authorization scheme.
Some of the solutions provide flexibility by defining their own SDK to encourage the use of their schemes for authentication/authorization. Today, most of the SDK are based on concepts introduced by OAuth and do not suppose a risk by themselves. This applies to Microsoft Live Connect, Facebook PHP SDK and Windows 8 SDK Authentication Broker. If they exist, the threats should come from a deficient use of these SDK. In fact, regardless of threats derived by a poor implementation of the scheme chosen, most of the threats that can be defined on an authorization system coincide with the threats defined for authentication systems. This coincidence has to do with the misuse of the credentials used to manage permissions granting access to resources [2], [5].
In [2] four different levels are defined in terms of the consequences of authentication and authorization errors and misuse of credentials. Level 1 is the lowest level (the most insecure) and level 4 is the highest.                Level 1—An attacker can perform repeated logon trials by guessing possible values of the token authenticator. An attacker is also able to replay previously captured messages (between a legitimate user and a verifier) to authenticate as that user to the verifier. NIST recommends the usage of a single or multi-factor authentication with no identity proof in order to provide protection against these online guessing and replay attacks.        Level 2—An attacker can listen passively to the authentication protocol to capture information which can be used in a subsequent active attack to masquerade as the user. NIST recommends the usage of single or multi-factor authentication to provide protection against these eavesdropping attacks and all the attacks from the level 1.        Level 3—The attacker positions himself or herself in between the user and verifier so that he or she can intercept and alter the content of the authentication protocol messages. The attacker typically impersonates the verifier to the user and simultaneously impersonates the user to the verifier. Conducting an active exchange with both parties simultaneously may allow the attacker to use authentication messages sent by one legitimate party to successfully authenticate to the other. NIST recommends the usage of a multi-factor authentication and wide use of OTP. It also suggests a token used for authentication to be unlocked by the user using a password or biometrics. Adopting these solutions provides protection against verifier impersonation attacks, MitM attacks and the attacks from level 2.        Level 4—An attacker is able to insert himself or herself between a user and a verifier subsequent to a successful authentication exchange between the latter two parties. The attacker is able to pose as a user to the verifier, or vice versa, to control session data exchange. On the other hand, the attacker may compromise or otherwise exploit authentication tokens and may intercept all input or output communications from the device (Man-in-the-device (MitD) attacks or Man-in-the-Browser (MitB) attacks). The attacker can do this infecting the system with malware. NIST suggests the usage of Multi-factor authentication with FIPS-140-2 certified tamper-resistant hardware (hardware tokens) [4] to get protection against these session hijacking attacks and the attacks from the level 3.        
For the first three levels, attacks and existing solutions are both focused on the way of verifying the user's identity. At level 4, NIST proposes the use of solutions against session hijacking and others attacks over authentication processes. This session hijacking involves an attacker takes advantage of the legitimate exchange of credentials that a user makes to comply with the authentication process. Once this validation is accomplished, the attacker then intervenes in the communication that takes place. This type of attack can be implemented in two ways: actively acting, hijacking the connection and leaving out of it to the legitimate user, or, remaining hidden and modifying the content of communication transparently to the user. Whatever the implementation of this attack, it is important to observe that this is an attack aimed at breaking the authorization system, leaving intact, though useless, the authentication system. Although there are alternatives to proactively protect systems from this threat, there is no adequate solution to mitigate the effects of the attack once the device from which the resource access is requested, is committed.
NIST suggests employing FIPS-140-2 certified tamper-resistant hardware (hardware tokens) [4]. Using these devices provides the users the ability to generate a single use password (one time password, OTP) to prove their identity to each transaction. In addition, there are hardware implementations of these tokens that can generate other OTPs coded to contain information on how to complete a specific transaction.
Different criteria can be defined to establish comparison between authentication/authorization schemes. In [1] the authors suggest the need to define three criteria in order to perform an effective comparison. These aspects are: security, usability and complexity on implementation (deployability). This paper presents an intensive study to instrument the comparison through the definition of metrics. Following table summarizes the metrics defined for each criterion.
UsabilityMemory-EffortlessScalable-for-UsersNothing-to-CarryPhysical-EffortlessEasy-to-LearnEfficient-to-UseInfrequent-ErrorsEasy-recovery-from-LossDeployabilityAccessibleNegligible-Cost-per-UserServer-CompatibleBrowser-CompatibleMatureNon-ProprietarySecurityResilient-to-Physical-ObservationResilient-to-Targeted-ImpersonationResilient-to-Throttled-GuessingResilient-to-Unthrottled-GuessingResilient-to-Internal-ObservationResilient-to-Leaks-from-Other-VerifiersResilient-to-PhishingResilient-to-TheftNo-Trusted-third-PartyRequiring-Explicit-ConsentUnlikable
In the case of security criterion, the proposed metric set summarizes all the aspects that are usually estimated in defining a threat model. In the definition of these models it is necessary to adopt a number of decisions. And these decisions define the working scenario. For example in the case of OAuth 2.0 [5] the adopted assumptions are as follows:                The attacker has full access to the network between the client and authorization servers and the client and the resource server, respectively. The attacker may eavesdrop on any communications between those parties. He is not assumed to have access to communication between the authorization server and resource server.        An attacker has unlimited resources to organize an attack.        Two of the three parties involved in the OAuth protocol may collude to mount an attack against the third party. For example, the client and authorization server may be under control of an attacker and collude to trick a user to gain access to resources.        
Attending to the metrics introduced above, is possible to determine that solutions corresponding to the higher security level (level 4) have poor performance in deployability and usability. Once the assessment of a system allows to determine in which level has to be deployed its authentication system, it is needed to evaluate if the users are authenticated safely and correctly. Although there are some tools that aid in this task [3], [6], deploys in the level 4 are difficult to evaluate correctly. In terms of usability, the use of tampering resistant hardware tokens goes against the adoption of these solutions by users, and it has been proved that this situation leads to a misuse of the credential systems. These tokens are expensive. They are independent devices that the user has to custody and that can be employed with one service provider only. If the users have to deal with more than one service provider that has adopted these tampering resistant hardware tokens, they have to take into custody as many tokens as service providers they have.
Furthermore, in terms of authorization, in [7] the authors explain that, aside from some security issues of each SDK, developers who choose to integrate with one of them make assumptions that can lead to security problems. This is because SDKs are often not well documented and the security exploits nearly always stem from attackers who find ways to violate these assumptions system implementers relied upon.
Along with these difficulties, other problems must be considered to understand the constant increase in fraud arising from the theft of digital identities. For instance, it is not possible to measure a homogeneous security level in all users' digital accounts. It is needed a solution that can equalize the security level of all digital accounts that a user owns. This solution should extend this security not only to the authentication processes but also to the resource authorization processes and all procedures related to such accounts.
In addition, numerous biometric identification and authentication techniques are in use nowadays for securing and accessing control applications. These biometric techniques include fingerprint identification, face recognition, retinal scan, iris scan, hand recognition, and voice or signature analysis. However, while there are many advantages to biometric authentication, several factors have limited its propagation due to some of the processes can be very intrusive, awkward and/or expensive.